home *** CD-ROM | disk | FTP | other *** search
/ Magnum One / Magnum One (Mid-American Digital) (Disc Manufacturing).iso / d12 / scl120.arc / SCL1.H < prev    next >
Text File  |  1990-09-07  |  26KB  |  970 lines

  1. /*******************************************************************************
  2. *          SCL1.H - definitions/declarations for SCL1 Library version 2.0      *
  3. *                                                                              *
  4. *          Copyright (C) 1990 by José Rodríguez Alvira & José R. Lebrón        *
  5. *******************************************************************************/
  6.  
  7. /* STRUCTURES */
  8.  
  9. /* Menu structures */
  10.  
  11. struct MenuOpt{
  12.     int Row,Col;
  13.     char *String;
  14.     int Letter;
  15.     };
  16.  
  17. struct BarMenu{
  18.     int StartCol,EndCol;
  19.     char String[20];
  20.     };
  21.  
  22. struct PopMenuData{
  23.     int L1,C1,L2,C2;
  24.     int NumberOption;
  25.     char *WinBuffer;
  26.     struct MenuOpt *Menust;
  27.     };
  28.  
  29. struct MenuSysData{
  30.     unsigned int Key;
  31.     struct PopMenuData *PMenu;
  32.     };
  33.  
  34. /* Mouse Button */
  35.  
  36. struct MouseButton{
  37.     int Top,Left,Bottom,Right;
  38.     int Row,Col;
  39.     char String[20];
  40.     };
  41.  
  42. /* ItemList structure */
  43.  
  44. struct ItemList{
  45.     int Row,Col;
  46.     char *String;
  47.     };
  48.  
  49. /* Input Fields structure */
  50.  
  51. struct InputFields{
  52.     int PromptLine;
  53.     int PromptCol;
  54.     char *Prompt;
  55.  
  56.     int FieldLine;
  57.     int FieldCol;
  58.     char *FieldBuffer;
  59.  
  60.     int MaxChar;
  61.     unsigned int CharType;
  62.     int (* cdecl Helpf)(struct InputFields *);
  63.     int (* cdecl Checkf)(struct InputFields *);
  64.     };
  65.  
  66. /* Error Box */
  67.  
  68. struct ErrorMess{
  69.     int ErrorNum;
  70.     char *Message;
  71.     };
  72.  
  73. /* Tag List structure */
  74.  
  75. struct TagList{
  76.     char TagFl;
  77.     char *String;
  78.     };
  79.  
  80. /* Date structure */
  81.  
  82. struct DateData{
  83.     int WeekDay;
  84.     int MonthDay;
  85.     int Month;
  86.     int Year;
  87.     };
  88.  
  89. /* VideoData structure */
  90.  
  91. struct VideoData{
  92.     int Monitor;
  93.     int Mode;
  94.     int Page;
  95.     int Lines;
  96.     int Cols;
  97.     unsigned int Segment;
  98.     int Retrace;
  99.     };
  100.  
  101. struct FILETIME{
  102.     unsigned int seconds:5;
  103.     unsigned int minutes:6;
  104.     unsigned int hours:5;
  105.     };
  106.  
  107. struct FILEDATE{
  108.     unsigned int day:5;
  109.     unsigned int month:4;
  110.     unsigned int year:7;
  111.     };
  112.  
  113. struct FileData{
  114.     char reserved[21];
  115.     char attrib;
  116.     struct FILETIME time;
  117.     struct FILEDATE date;
  118.     long size;
  119.     char name[13];
  120.     };
  121.  
  122. /*  Dialog functions - structures and messages
  123.  
  124.     LineEditor
  125.     messages received by LineEditor */
  126.  
  127. #define LE_INIT            0
  128. #define LE_DRAW            1
  129. #define LE_UPDATE_FIELD    2
  130. #define LE_ACTIVE          3
  131. #define LE_KEY             4
  132. #define LE_DATA            5
  133. #define LE_POSITION_BEGIN  6
  134. #define LE_POSITION_END    7
  135. #define LE_POSITION_UP     8
  136. #define LE_POSITION_DOWN   9
  137. #define LE_SET_POSITION    10
  138. #define LE_CHARS_UP        11
  139. #define LE_CHARS_DOWN      12
  140. #define LE_CLEAR           14
  141. #define LE_CHECK_MOUSE     15
  142. #define LE_RESET           100
  143.  
  144. /* messages returned by LineEditor */
  145.  
  146. #define LE_OK               0
  147. #define LE_EXIT_KEY         1
  148. #define LE_MOUSE_EVENT      2
  149. #define LE_BUFFER_END       3
  150. #define LE_BUFFER_BEGIN     4
  151. #define LE_ILLEGAL_KEY      5
  152. #define LE_BUFFER_FULL      6
  153. #define LE_ILLEGAL_POSITION 7
  154. #define LE_NEW_POSITION     8
  155. #define LE_MY_MOUSE         15
  156. #define LE_DEL_NULL         18
  157.  
  158. /* LineEditor structure */
  159.  
  160. typedef struct{
  161.     int PColor;             /* Prompt's color */
  162.     int PRow;               /* Prompt's position */
  163.     int PCol;
  164.     char *Prompt;
  165.     int FColor;             /* Field color */
  166.     int FRow;               /* Field position and screen lenght */
  167.     int FCol;
  168.     unsigned int FLength;   /* length in columns */
  169.     unsigned int FSize;     /* Maximum number of chars */
  170.     int CType;              /* type of characters accepted */
  171.     int MaskFn;             /* 0 accept chars in mask, 1 discard chars in mask */
  172.     char *MaskArray;        /* array of mask chars */
  173.     char *Buffer;           /* destination buffer */
  174.     char *FormatC;          /* chars used in format string */
  175.     unsigned int *ExitKeys; /* array of exit keys scan/ascii code */
  176.     int InsFlag;            /* 1 = Insert ON ,0 =typeover */
  177.     int InsertCur;          /* Insert Mode cursor 0 = none, 1 normal, 2 big */
  178.     int TypeOverCur;        /* typeover mode cursor */
  179.     int CPaint;             /* Conditional paint color */
  180.     unsigned int StartPos;  /* Start and end pos for conditional paint */
  181.     unsigned int EndPos;
  182.     unsigned int EventInfo; /* return information */
  183.     unsigned int Position;  /* current position into buffer (offset) */
  184.     unsigned int Scroll;    /* horizontal scroll counter 0=none */
  185.     int Edited;             /* =1 if line was edited */
  186.     }LEData;
  187.  
  188. /*  TextWindow
  189.     messages received by TextWindow */
  190.  
  191. #define TW_INIT         0
  192. #define TW_DRAW         1
  193. #define TW_WRITE        2
  194. #define TW_CLS          3
  195. #define TW_LINE_DOWN    4
  196. #define TW_DRAW_BORDER  5
  197. #define TW_WAIT_ON      30
  198. #define TW_WAIT_OFF     31
  199. #define TW_RESET        100
  200.  
  201. /* messages returned by TextWindow */
  202.  
  203. #define TW_OK           0
  204. #define TW_WINDOW_FULL  1
  205.  
  206. /* TextWindow structure */
  207.  
  208. typedef struct{
  209.     int Color;
  210.     int UpperRow;
  211.     int LeftCol;
  212.     int LowerRow;
  213.     int RightCol;
  214.     int FrameType;
  215.     int WrapFlag;
  216.     int Position;
  217.     }TWData;
  218.  
  219. /*  ScrollWindow
  220.     Messages received by ScrollWindow */
  221.  
  222. #define SW_INIT             0
  223. #define SW_DRAW             1
  224. #define SW_WRITE            2
  225. #define SW_ACTIVE           3
  226. #define SW_DRAW_BORDER      5
  227. #define SW_POSITION_BEGIN   6
  228. #define SW_POSITION_END     7
  229. #define SW_POSITION_UP      8
  230. #define SW_POSITION_DOWN    9
  231. #define SW_SET_POSITION     10
  232. #define SW_CLS              11
  233. #define SW_CHECK_MOUSE      15
  234. #define SW_UWRITE           16
  235. #define SW_RESET            100
  236. #define SW_PAGE_UP          101
  237. #define SW_PAGE_DOWN        102
  238.  
  239. /* Messages returned by ScrollWindow */
  240.  
  241. #define SW_NULL_ARRAY       -2
  242. #define SW_OK                0
  243. #define SW_EXIT_KEY          1
  244. #define SW_MOUSE_EVENT       2
  245. #define SW_BUFFER_END        3
  246. #define SW_BUFFER_BEGIN      4
  247. #define SW_ILLEGAL_KEY       5
  248. #define SW_ILLEGAL_POSITION  7
  249. #define SW_NEW_POSITION      8
  250. #define SW_MOUSE_SELECT      9
  251. #define SW_MY_MOUSE         15
  252. #define SW_NEW_MOUSEPOS     16
  253. #define SW_BLOCK_MARK       17
  254.  
  255. /* ScrollWindow structure */
  256.  
  257. typedef struct{
  258.     int NColor;
  259.     int RColor;
  260.     int UpperRow;
  261.     int LeftCol;
  262.     int LowerRow;
  263.     int RightCol;
  264.     int FrameType;
  265.     int ScrollBar;
  266.     int BarColor;
  267.     char **Array;
  268.     char *TagArray;
  269.     int TagColor;
  270.     char *Title;
  271.     int TitleColor;
  272.     unsigned int *ExitKeys;
  273.     unsigned int Lines;
  274.     unsigned int Length;
  275.     unsigned int TopLine;
  276.     unsigned int Position;
  277.     unsigned int FirstCol;
  278.     int OldVBlock;
  279.     int OldHBlock;
  280.     int WindowLines;
  281.     int WindowCols;
  282.     int VScroll;
  283.     int HScroll;
  284.     unsigned int EventInfo;
  285.     }SWData;
  286.  
  287. /*  MouseButton
  288.     Message received by MouseButton */
  289.  
  290. #define MB_INIT             0
  291. #define MB_DRAW             1
  292. #define MB_ACTIVE           3
  293. #define MB_CHECK_MOUSE      15
  294. #define MB_RESET            100
  295.  
  296. /* Message returned by MouseButton */
  297.  
  298. #define MB_OK               0
  299. #define MB_EXIT_KEY         1
  300. #define MB_MOUSE_EVENT      2
  301. #define MB_ILLEGAL_KEY      5
  302. #define MB_MOUSE_SELECT     9
  303. #define MB_MY_MOUSE         15
  304.  
  305.  
  306. /* MouseButton structure */
  307.  
  308. typedef struct{
  309.     int NColor;
  310.     int RColor;
  311.     int UpperRow;
  312.     int LeftCol;
  313.     int LowerRow;
  314.     int RightCol;
  315.     int PRow;
  316.     int PCol;
  317.     char *Prompt;
  318.     int BoxFlag;
  319.     int ActiveFlag;
  320.     unsigned int *ExitKeys;
  321.     unsigned int EventInfo;
  322.     }MBData;
  323.  
  324. /*  TagItem
  325.     messages received by TagItem */
  326.  
  327. #define TI_INIT            0
  328. #define TI_DRAW            1
  329. #define TI_ACTIVE          3
  330. #define TI_CHECK_MOUSE     15
  331. #define TI_RESET           100
  332.  
  333. /* messages returned by TagItem */
  334.  
  335. #define TI_OK               0
  336. #define TI_EXIT_KEY         1
  337. #define TI_MOUSE_EVENT      2
  338. #define TI_ILLEGAL_KEY      5
  339. #define TI_MY_MOUSE         15
  340.  
  341. /* TagItem structure */
  342.  
  343. typedef struct{
  344.     int Color;
  345.     int Row;
  346.     int Col;
  347.     int TagFl;
  348.     char *String;
  349.     unsigned int *ExitKeys;
  350.     unsigned int EventInfo;
  351.     }TIData;
  352.  
  353. /*  Select
  354.     messages received by Select */
  355.  
  356. #define S_INIT            0
  357. #define S_DRAW            1
  358. #define S_ACTIVE          3
  359. #define S_CHECK_MOUSE     15
  360. #define S_RESET           100
  361.  
  362. /* messages returned by Select */
  363.  
  364. #define S_NULL_ARRAY      -2
  365. #define S_OK               0
  366. #define S_EXIT_KEY         1
  367. #define S_MOUSE_EVENT      2
  368. #define S_ILLEGAL_KEY      5
  369. #define S_NEW_POSITION     8
  370. #define S_MY_MOUSE         15
  371.  
  372. /* Select structures */
  373.  
  374. typedef struct{
  375.     int Row;
  376.     int Col;
  377.     char *String;
  378.     }SData1;
  379.  
  380. typedef struct{
  381.     int Color;
  382.     int PRow;
  383.     int PCol;
  384.     char *Prompt;
  385.     unsigned int *ExitKeys;
  386.     int Options;
  387.     int Position;
  388.     unsigned int EventInfo;
  389.     }SData2;
  390.     
  391. /* Fields2 */
  392.  
  393. typedef struct{
  394.     int FieldType;
  395.     void *Structure1;
  396.     void *Structure2;
  397.     int (* cdecl CheckF)();
  398.     }FData1;
  399.  
  400. typedef struct{
  401.     int Message;
  402.     unsigned int EventInfo;
  403.     FData1 *Structure;
  404.     int ActiveField;
  405.     int FieldsNumber;
  406.     }FData2;
  407.  
  408. typedef struct{
  409.     int EventInfo;
  410.     int (* cdecl CheckF)();
  411.     }FData3;
  412.  
  413. /* Field types */
  414.  
  415. #define LINE_EDITOR     1
  416. #define SCROLL_WINDOW   2
  417. #define MOUSE_BUTTON    3
  418. #define TAG_ITEM        4
  419. #define SELECT          5
  420. #define LIST_WINDOW     6
  421. #define CALENDAR        7
  422. #define USER_DEFINED    100
  423.  
  424. /* messages received */
  425.  
  426. #define F_INIT            0
  427. #define F_DRAW            1
  428. #define F_ACTIVE          3
  429. #define F_MOUSE_EVENT     2
  430. #define F_POSITION_STAY   5
  431. #define F_POSITION_UP     8
  432. #define F_POSITION_DOWN   9
  433. #define F_SET_POSITION    10
  434. #define F_EXIT            13
  435. #define F_SET_POS_EXIT    16
  436. #define F_DRAW_NR         19
  437. #define F_CHECK_ALL       20
  438. #define F_COLORS          21
  439. #define F_RESET           100
  440.  
  441. /*  TagList2
  442.     TagList2 messages received */
  443.  
  444. #define TL_INIT             0
  445. #define TL_DRAW             1
  446. #define TL_ACTIVE           2
  447. #define TL_RESET            100
  448.  
  449. /* TagList2 messages returned */
  450.  
  451. #define TL_OK               0
  452. #define TL_CANCEL           -1
  453.  
  454. /* TagList2 structure */
  455.  
  456. typedef struct{
  457.     int NColor;
  458.     int RColor;
  459.     int TColor;
  460.     int UpperRow;
  461.     int LeftCol;
  462.     int LowerRow;
  463.     int RightCol;
  464.     char **Array;
  465.     char *TagArray;
  466.     }TLData;
  467.  
  468. /*  FileBox2
  469.     FileBox2 messages received */
  470.  
  471. #define FB_INIT             0
  472. #define FB_DRAW             1
  473. #define FB_ACTIVE           2
  474. #define FB_RESET            100
  475.  
  476. /* FileBox2 messages returned */
  477.  
  478. #define FB_OK                0
  479. #define FB_CANCEL           -1
  480.  
  481. /* FileBox2 structure */
  482.  
  483. typedef struct{
  484.     int NColor;
  485.     int RColor;
  486.     int UpperRow;
  487.     int LeftCol;
  488.     int LowerRow;
  489.     int RightCol;
  490.     char *Filename;
  491.     int Attrib;
  492.     }FBData;
  493.  
  494. /*  MenuSystem
  495.     MenuSystem messages received */
  496.  
  497. #define MS_INIT               0
  498. #define MS_DRAW               1
  499. #define MS_CHECK              3
  500. #define MS_KEY                4
  501. #define MS_SHADOW_ON         20
  502. #define MS_SHADOW_OFF        21
  503. #define MS_LINE_ON           22
  504. #define MS_LINE_OFF          23
  505. #define MS_SET_FRAME_TYPE    24
  506. #define MS_SET_BAR_ROW       25
  507. #define MS_SET_BAR_START     26
  508. #define MS_SET_BAR_END       27
  509. #define MS_ALT_ON            29
  510. #define MS_ALT_OFF           30
  511. #define MS_SET_FRAME_COLOR   31
  512. #define MS_RESET_FRAME_COLOR 32
  513. #define MS_RESET             100
  514.  
  515. /* MenuSystem messages returned */
  516.  
  517. #define MS_NO_SELECT    0
  518. #define MS_OK           0
  519. #define MS_SELECT       1
  520. #define MS_CANCEL      -1
  521.  
  522. /* MenuSystem structures */
  523.  
  524. typedef struct{
  525.     int Row;
  526.     int Col;
  527.     char *String;
  528.     int Letter;
  529.     }MSOptions;
  530.  
  531. typedef struct{
  532.     int UpperRow;
  533.     int LeftCol;
  534.     int LowerRow;
  535.     int RightCol;
  536.     int Number;
  537.     char *WinBuffer;
  538.     MSOptions *mso;
  539.     }MSWindow;
  540.  
  541. typedef struct{
  542.     int StartCol;
  543.     int EndCol;
  544.     unsigned int Key;
  545.     char *String;
  546.     }MSBar;
  547.  
  548. typedef struct{
  549.     int BarNColor;
  550.     int BarRColor;
  551.     int MenuNColor;
  552.     int MenuRColor;
  553.     int MenuHColor;
  554.     MSBar *msb;
  555.     MSWindow *msw;
  556.     int Number;
  557.     int Menu;
  558.     int Option;
  559.     unsigned int EventInfo;
  560.     }MSData;
  561.  
  562. /*  ListWindow
  563.     Messages received by ListWindow */
  564.  
  565. #define LW_INIT             0
  566. #define LW_DRAW             1
  567. #define LW_WRITE            2
  568. #define LW_ACTIVE           3
  569. #define LW_DRAW_BORDER      5
  570. #define LW_POSITION_BEGIN   6
  571. #define LW_POSITION_END     7
  572. #define LW_POSITION_UP      8
  573. #define LW_POSITION_DOWN    9
  574. #define LW_SET_POSITION     10
  575. #define LW_CLS              11
  576. #define LW_CHECK_MOUSE      15
  577. #define LW_RESET            100
  578.  
  579. /*  Messages returned by ListWindow */
  580.  
  581. #define LW_NULL_ARRAY       -2
  582. #define LW_OK                0
  583. #define LW_EXIT_KEY          1
  584. #define LW_MOUSE_EVENT       2
  585. #define LW_BUFFER_END        3
  586. #define LW_BUFFER_BEGIN      4
  587. #define LW_ILLEGAL_KEY       5
  588. #define LW_ILLEGAL_POSITION  7
  589. #define LW_NEW_POSITION      8
  590. #define LW_MOUSE_SELECT      9
  591. #define LW_MY_MOUSE         15
  592. #define LW_NEW_MOUSEPOS     16
  593. #define LW_BLOCK_MARK       17
  594.  
  595. /* ListWindow structure */
  596.  
  597. typedef struct{
  598.     int NColor;
  599.     int RColor;
  600.     int UpperRow;
  601.     int LeftCol;
  602.     int LowerRow;
  603.     int RightCol;
  604.     int FrameType;
  605.     int ScrollBar;
  606.     int BarColor;
  607.     char **Array;
  608.     char *TagArray;
  609.     int TagColor;
  610.     char *Title;
  611.     int TitleColor;
  612.     unsigned int *ExitKeys;
  613.     int StaticWidth;
  614.     unsigned int Items;
  615.     unsigned int ColumnWidth;
  616.     unsigned int FirstItem;
  617.     unsigned int Position;
  618.     int WindowLines;
  619.     int WindowCols;
  620.     int TotalCols;
  621.     int TotalWindowItems;
  622.     int OldHBlock;
  623.     unsigned int EventInfo;
  624.     }LWData;
  625.  
  626. /*  Calendar
  627.     Calendar structure */
  628.  
  629. typedef struct{
  630.     int NColor;
  631.     int RColor;
  632.     int Row;
  633.     int Col;
  634.     int FrameType;
  635.     unsigned int *ExitKeys;
  636.     int Lang;
  637.     int Month;
  638.     int Day;
  639.     int Year;
  640.     unsigned int EventInfo;
  641.     }CData;
  642.  
  643. /* Messages received */
  644.  
  645. #define C_INIT         0
  646. #define C_DRAW         1
  647. #define C_ACTIVE       3
  648. #define C_CHECK_MOUSE 15
  649. #define C_SHADOW_ON   20
  650. #define C_SHADOW_OFF  21
  651. #define C_RESET       100
  652.  
  653. /* Messagges returned */
  654.  
  655. #define C_OK            0
  656. #define C_EXIT_KEY      1
  657. #define C_MOUSE_EVENT   2
  658. #define C_ILLEGAL_KEY   5
  659. #define C_NEW_POSITION  8
  660. #define C_MY_MOUSE     15
  661.  
  662.  
  663. /* Functions prototypes */
  664.  
  665. void cdecl BackgroundOn(int (*FAddress)());
  666. char * cdecl AddExtension(char *Filename,char *Extension);
  667. void cdecl BackgroundOff(void);
  668. void cdecl Beep(void);
  669. void cdecl BigCursor(void);
  670. char * cdecl Bin2Ascii(long Number,char *Buffer);
  671. void cdecl Box(int Color,int FrameType,int UpperRow,int LeftCol,int LowerRow,int RightCol);
  672. int cdecl Buf2Disk(char *Filename,char *Buffer,unsigned int Bytes);
  673. int cdecl Calendar(int Message,CData *cd);
  674. int cdecl Center(char *String);
  675. void cdecl ChangeDumpColor(int OldColor,int NewColor,char *p);
  676. char * cdecl ChangeExtension(char *Filename,char *Extension);
  677. unsigned int cdecl CheckChar(unsigned int Character,unsigned int ControlCode);
  678. int cdecl CheckBarMenu(int Number,struct BarMenu *bm);
  679. int cdecl CheckItemList(int Number,int ItemLength,struct ItemList *il);
  680. int cdecl CheckMouseButton(int Number,struct MouseButton *mb);
  681. int cdecl CheckMouse(void);
  682. void cdecl ClearKeyBuf(void);
  683. int cdecl CloseFile(int Handle);
  684. void cdecl Cls(int Color,int UpperRow,int LeftCol,int LowerRow,int RightCol);
  685. int cdecl CreateFile(char *Filename,int *Handle,int Attrib);
  686. void cdecl CursorOff(void);
  687. void cdecl CursorOn(void);
  688. int cdecl DeleteFile(char *Filename);
  689. int cdecl DialogBox(int BoxColor,char *Prompt,int InputColor,int MaxChar,unsigned int CharType,char *Buffer);
  690. void cdecl DisableMouse(void);
  691. void cdecl DrawBoxLine(int Color,int FrameType,int Row1,int Col1,int Row2,int Col2);
  692. void cdecl DrawBarMenu(int NColor,int RColor,int NumItems,int Selection,struct BarMenu* bm);
  693. void cdecl DrawItemList(int NColor,int RColor,int Number,int Selection,struct ItemList *il);
  694. void cdecl DrawMouseButton(int NColor,int RColor,int Number,int Selection,struct MouseButton *mb);
  695. void cdecl DrawLine(int Color,int Row,int Col,int Count,int Direction,int Character);
  696. void cdecl ErrorBox(int ErrNum);
  697. void cdecl ErrorShadowOff(void);
  698. void cdecl ErrorShadowOn(void);
  699. int cdecl FieldCheck(FData2 *p);
  700. int cdecl Fields(int NColor,int RColor,int NFields,struct InputFields *ifld,unsigned int ExitKey,unsigned int HelpKey);
  701. FData2 * cdecl Fields2(int Message,FData1 *fd1,FData2 *fd2,...);
  702. int cdecl FileBox(char NColor,char RColor,char *Filename);
  703. int cdecl FileBox2(int Message, FBData *p);
  704. int cdecl File2Buf(char* Filename,char* Buffer,unsigned int* MaxSize);
  705. void cdecl FillBlock(int Color,int UpperRow,int LeftCol,int LowerRow,int RightCol,int Character);
  706. int cdecl FindFirst(char *SearchString,struct FileData *Buffer,int SearchAtr);
  707. int cdecl FindNext(void);
  708. int cdecl GetCurLine(void);
  709. int cdecl GetCurCol(void);
  710. int cdecl GetCurrentDir(char *PathBuffer);
  711. int cdecl GetCurSize(void);
  712. int cdecl GetFiles(char *SearchString,int SearchAtr);
  713. struct DateData * cdecl GetDate(void);
  714. int cdecl GetDefaultDrive(void);
  715. long cdecl GetDiskFreeSpace(int Drive);
  716. unsigned int cdecl GetExtendedAscii(unsigned int Character);
  717. int cdecl GetFileMode(char *Filename,unsigned int *FMode);
  718. long cdecl GetFilePt(int Handle);
  719. long cdecl GetFileSize(int Handle);
  720. long cdecl GetFreeMem(void);
  721. unsigned int cdecl GetKey(void);
  722. int cdecl GetString(int PColor,int PRow,int PCol,char* Prompt,int FColor,int FRow,int FCol,int MaxChar,unsigned int CharType,char *Buffer);
  723. void cdecl GSSBox(int Color,int FrameType,int UpperRow,int LeftCol,int LowerRow,int RightCol,int GrowFl,int SoundFl,int ShadowFl);
  724. char * cdecl GetTime(void);
  725. void cdecl HideMouse(void);
  726. void cdecl InitUserError(struct ErrorMess* p);
  727. int cdecl InitMouse(int Cursor);
  728. void cdecl InitVideo(void);
  729. void cdecl Int24ShadowOff(void);
  730. void cdecl Int24ShadowOn(void);
  731. unsigned int cdecl KeyReady(void);
  732. unsigned int cdecl KeyStatus(void);
  733. int cdecl LineEditor(int Message,LEData *p,...);
  734. int cdecl ListManager(int NColor,int RColor,int Number,int Length,int Selection,int Lines,int Cols,struct ItemList *il);
  735. int cdecl ListWindow(int Message,LWData *p,...);
  736. int cdecl LW_MoveTo(LWData *lwd);
  737. int cdecl MakeDir(char *Path);
  738. int cdecl Menu(int NColor, int RColor, int HColor,int NumOpt,struct MenuOpt *mo);
  739. int cdecl MenuSys(int NColor,int RColor,int HColor,int MenuNumber,struct BarMenu *bm,struct MenuSysData *msd);
  740. int cdecl MenuSystem(int Message,MSData *msd,...);
  741. void cdecl MessageOn(int Color,char *String);
  742. void cdecl MessageOff(void);
  743. void cdecl MessageShadowOff(void);
  744. void cdecl MessageShadowOn(void);
  745. int cdecl MouseButton(int Message,MBData *p);
  746. int cdecl MouseMenu(int NColor,int RColor,int HColor,int NumOpt,struct MenuOpt *mo,int XMin,int XMax,int YMin,int YMax);
  747. int cdecl MoveFilePt(int Handle,unsigned long Bytes);
  748. int cdecl MoveFilePt2Offset(int Handle,unsigned long Bytes);
  749. int cdecl OpenFile(char *Filename, int *Handle, int OMode);
  750. int cdecl PushCursor(void);
  751. int cdecl PopCursor(void);
  752. int cdecl PopMenu(int NColor,int RColor,int HColor,struct PopMenuData *pmd);
  753. int cdecl ReadFile(int Handle,char *Buffer,unsigned int Bytes);
  754. int cdecl RemoveDir(char *Path);
  755. char * cdecl RemoveExtension(char *Filename);
  756. int cdecl RenameFile(char *OldName,char *NewName);
  757. void cdecl ResetMouse(void);
  758. void cdecl ResetMouseCur(void);
  759. void cdecl ScrollDown(int Color,int UpperRow,int LeftCol,int LowerRow,int RightCol,int Scroll);
  760. void cdecl ScreenDump(int Row,int Column,char *StringAdr);
  761. int cdecl ScrollList(int NColor,int RColor,int Row,int Col,int Lines,char **p);
  762. void cdecl ScrollUp(int Color,int UpperRow,int LeftCol,int LowerRow,int RightCol,int Scroll);
  763. int cdecl ScrollWindow(int Message,SWData *p,...);
  764. void cdecl SetInt24Colors(int NColor,int RColor);
  765. void cdecl SetCurPos(int Row,int Col);
  766. void cdecl SetCurSize(int CursorSize);
  767. void cdecl SetErrorBoxColor(int UColor);
  768. int cdecl SetFileMode(char *Filename, unsigned int NewMode);
  769. void cdecl SetHorLimit(int Minimum,int Maximum);
  770. int cdecl Select(int Message,SData1 *sd1,SData2 *sd2);
  771. void cdecl SetDialogColor(int NColor,int RColor,int HColor);
  772. void cdecl SetMouseCur(int Character);
  773. void cdecl SetMouseIsr(void);
  774. void cdecl SetMousePos(int X,int Y);
  775. void cdecl SetShadowColor(int Color);
  776. void cdecl SetUserBox(int UpperLeft,int UpperRight,int LowerLeft,int LowerRight,int UpperSide,int BottomSide,int LeftSide,int RightSide);
  777. void cdecl SetUserBoxLine(int HLeft,int HRight,int VUpper,int VLower);
  778. void cdecl SetVerLimit(int Minimum,int Maximum);
  779. void cdecl SetVideoMode(int NewMode);
  780. void cdecl SetVideoPage(int NewPage);
  781. void cdecl SetVideo4350(void);
  782. void cdecl SetVideo25();
  783. void cdecl Shadow(int Color,int UpperRow,int LeftCol,int LowerRow,int RightCol);
  784. void cdecl ShowMouse(void);
  785. void cdecl SortPointers(char *p[]);
  786. void cdecl Sound(int Freq);
  787. void cdecl SoundOff(void);
  788. void cdecl SoundOn(void);
  789. long cdecl StopWatch(int Function);
  790. int cdecl SW_MoveTo(SWData *sw);
  791. int cdecl TagItem(int Message,TIData *tg);
  792. int cdecl TagList(int NColor,int RColor,struct TagList *tl);
  793. int cdecl TagList2(int Message,TLData *p);
  794. int cdecl TagMenu(int NColor,int RColor,int HColor,int NumOpt,struct MenuOpt *mo,int XMin,int XMax,int YMin,int YMax);
  795. int cdecl TextWindow(int Message,TWData *p,...);
  796. void cdecl TrapInt23(void);
  797. void cdecl TrapInt24(void);
  798. void cdecl TSound(int Frequency,unsigned int Duration);
  799. unsigned int cdecl Video(void);
  800. struct VideoData * cdecl VideoConfig(void);
  801. void cdecl Window(int Color,int UpperRow,int LeftCol,int LowerRow,int RightCol,char* Flag,char* Buffer);
  802. void cdecl WriteOffLen(int Color,int Offset,int Count,char * String);
  803. void cdecl WriteOffset(int Color,int Offset,int Character);
  804. void cdecl WriteScreen(int Atributte,int Row,int Column,char* StringAdr);
  805. void cdecl WriteScreenLen(int Color,int Row,int Col,int Count,char *String);
  806. unsigned int cdecl WaitKeyMouse(void);
  807. void cdecl WaitTime(unsigned int HSec);
  808. void cdecl WriteChar(int Color,int Row,int Col,int Count,int Character);
  809. int cdecl WriteFile(int Handle,char *Buffer,unsigned int Bytes);
  810. int cdecl YesNo(int NColor,int RColor,int Selection,char *p);
  811. void cdecl YesNoShadowOff(void);
  812. void cdecl YesNoShadowOn(void);
  813.  
  814. /* Global Variables */
  815.  
  816. /* TrapInt24 */
  817.  
  818. extern int I24_CrtErrFl;
  819.  
  820. /* GetCurSize */
  821.  
  822. extern int GCS_CursorSize;
  823.  
  824. /* GetExtendedAscii */
  825.  
  826. extern char GE_CharTable;
  827.  
  828. /* Mouse related */
  829.  
  830. extern int MSE_LPress,MSE_LRel,MSE_RPress,MSE_RRel;
  831. extern int MSE_Move,MSE_MoveX,MSE_MoveY,MSE_LpX;
  832. extern int MSE_LpY,MSE_LrX,MSE_LrY,MSE_RpX,MSE_RpY;
  833. extern int MSE_RrX,MSE_RrY,MSE_MouseFl,MSE_DoubleClick;
  834.  
  835. /* GetFiles */
  836.  
  837. extern char *GF_PointerBuf[];
  838. extern int GF_FileNumber;
  839.  
  840. /* GetString */
  841.  
  842. extern char GS_Insert;
  843. extern char GS_Edit;
  844. extern char GS_Beep;
  845.  
  846. /* Fields */
  847.  
  848. extern char F_Insert;
  849. extern char F_Beep;
  850.  
  851. /* VideoConfig */
  852.  
  853. extern int VC_Monitor,VC_Mode,VC_Page;
  854. extern int VC_Lines,VC_Cols,VC_Retrace;
  855. extern unsigned int VC_Segment;
  856.  
  857. /* GetTime variables */
  858.  
  859. extern int GT_Hours;
  860. extern int GT_Minutes;
  861. extern int GT_Seconds;
  862. extern int GT_Hundreths;
  863.  
  864. /* TrapInt23h */
  865.  
  866. extern char I23_CtrlBreakFl;
  867.  
  868. /* SetDialogColors */
  869.  
  870. extern int D_NColor,D_RColor,D_HColor;
  871.  
  872. /* Arguments and constants */
  873.  
  874. /* CheckChar */
  875.  
  876. #define CC_ANY         1
  877. #define CC_LETTER      2
  878. #define CC_DIGIT       4
  879. #define CC_CAPITALIZE  8
  880. #define CC_REAL        0x14
  881. #define CC_FILESPEC    0x20
  882. #define CC_ESPANOL     0x42
  883. #define CC_PUNCTUATION 0x80
  884. #define CC_PATH        0x0100
  885. #define CC_SEARCH      0x0200
  886. #define CC_EXPONENTIAL 0x0404
  887.  
  888. /* KeyStatus */
  889.  
  890. #define INSERT  128
  891. #define CAPSL   64
  892. #define NUML    32
  893. #define SCROLL  16
  894. #define ALT     8
  895. #define CTRL    4
  896. #define LSHIFT  2
  897. #define RSHIFT  1
  898.  
  899. /* Video */
  900.  
  901. #define COLOR   0xb800
  902. #define MONO    0xb000
  903.  
  904. /* Monitors types */
  905.  
  906. #define VC_MDA    1
  907. #define VC_CGA    2
  908. #define VC_EGA    4
  909. #define VC_EGAM   5
  910. #define VC_PGC    6
  911. #define VC_VGAM   7
  912. #define VC_VGA    8
  913. #define VC_MCGADC 10
  914. #define VC_MCGAAM 11
  915. #define VC_MCGAAC 12
  916.  
  917. /* Cls */
  918.  
  919. #define CLS_ALL 0,0,24,79
  920.  
  921. /* StopWatch */
  922.  
  923. #define SW_START 0
  924. #define SW_STOP  1
  925.  
  926. /* File Attributtes */
  927.  
  928. #define F_READ_ONLY   1
  929. #define F_HIDDEN      2
  930. #define F_SYSTEM      4
  931. #define F_VOLUME      8
  932. #define F_DIRECTORY   16
  933. #define F_ARCHIVE     32
  934.  
  935. /* DOS 2.0 File Open Mode */
  936.  
  937. #define DOS2_READ       0           /* Access Rights */
  938. #define DOS2_WRITE      1
  939. #define DOS2_RW         2
  940.  
  941. /* DOS 3.0 File Open Mode */
  942.  
  943. #define DOS3_INHERIT    0           /* Inheritance Flag */
  944. #define DOS3_PRIVATE    0x80
  945.  
  946. #define DOS3_COMP       0           /* Sharing Mode */
  947. #define DOS3_DENY_RW    0x10
  948. #define DOS3_DENY_W     0x20
  949. #define DOS3_DENY_R     0x30
  950. #define DOS3_DENY_NONE  0x40
  951.  
  952. #define DOS3_READ       0           /* Access Rights */
  953. #define DOS3_WRITE      1
  954. #define DOS3_RW         2
  955.  
  956. /* DrawLine */
  957.  
  958. #define DL_HORIZONTAL 0
  959. #define DL_VERTICAL   1
  960.  
  961. /* InitMouse */
  962.  
  963. #define IM_NO_SHOW 0
  964. #define IM_SHOW    1
  965.  
  966. /* Window's buffer size macro */
  967.  
  968. #define W_BUF_SIZE(ur,lc,lr,rc) (((((rc) - (lc)) + 1) * 2) * (((lr) - (ur)) + 1))
  969.  
  970.